This invention relates to a music recorder and a music player and, more particularly, to a music recorder and music player for ensemble between different sorts of sound sources.
Pieces of music are stored in information storage media on the basis of different formulae. Compact discs are a typical example of the music data information storage media. However, the meaning of the pieces of data is not same. Binary codes in a compact disc are representative of the amplitude of an analog signal representative of music sound. The analog signal is periodically sampled at 44.1 kHz, and binary codes are successively assigned to the discrete values. Thus, the analog signal is quantized, and the discrete values of the amplitude are stored in the compact discs in the form of digital codes. The discrete values of the amplitude are hereinbelow referred to as xe2x80x9ctime series audio dataxe2x80x9d, and the digital codes representative of the time series audio data are referred to as xe2x80x9caudio data codesxe2x80x9d.
The MIDI (Musical Instrument Digital Interface) standards give another formula to digital codes stored in compact discs or floppy discs. The digital codes represent events at which each tone is generated or decayed and time intervals between the events. The digital codes thus formulated are hereinbelow referred to as xe2x80x9cMIDI codesxe2x80x9d. Pieces of information relating to the events and pieces of information relating to the time intervals are referred to as xe2x80x9cevent dataxe2x80x9d and xe2x80x9cduration dataxe2x80x9d, respectively, and the digital codes representative of the event data and the digital codes representative of the duration data are referred to as xe2x80x9cevent codesxe2x80x9d and xe2x80x9cdelta-time codesxe2x80x9d, respectively.
Music players try to make ensembles with pieces of music reproduced from the time series audio data recorded in the compact discs. Other music players want to record his or her performance in the form of MIDI codes together with the time series audio data. FIG. 1 shows a prior art music recorder/player 100, and the prior art music recorder/player 100 comprises a compact disc player 200, a MIDI code generator 400 and a recorder/reproducer 500. A compact disc CD is to be loaded in the compact disc player 200, and the MIDI code generator 400 is incorporated in a musical instrument 300 such as a piano.
The compact disc player 200 is equipped with an optical head, and reads out the audio data codes from the compact disc CD. Pieces of music are usually stored in compact discs in a digital stereo signal. The compact disc player converts the digital stereo signal to a digital monoral audio signal, and supplies the digital monoral audio signal representative of the time series audio data to the recorder/reproducer 500 as a signal to be stored in the left channel L. On the other hand, while the user is playing the musical instrument 300, the MIDI code generator 400 monitors the fingering on the musical instrument, and discriminates depressed/released keys from the other keys. The MIDI code generator 400 determines the events, and produces the event codes and delta-time codes representative of the performance. The MIDI code generator 400 supplies a digital MIDI data signal to the recorder/reproducer 500 as a signal to the stored in the right channel R.
The recorder 500 writes the monoral audio data codes and the MIDI codes in the left and right channels of an information storage medium such as a compact disc-recordable. When the user wants to reproduce the performance, the user instructs the prior art music recorder/player to reproduce the ensemble, the recorder/reproducer 500 concurrently reads out the digital monoral audio data codes from the left channel and the MIDI codes from the right channel, and supplies the digital monoral audio data codes and the MIDI codes to the compact disc player 200 and a tone generator/sound system (not shown), respectively. The compact disc player 200 produces monoral sound from the digital monoral audio data codes, and the tone generator/sound system produces electronic tones from the MIDI codes. Thus, the electronic tones and monoral sound are reproduced asynchronously with each other.
The first problem inherent in the prior art music recorder/player is the asynchronously recorded digital codes. If the user temporarily fingers his or her part out of rhythm with the compact disc player 200, the prior art music recorder/player faithfully records and reproduces his or her part out of the rhythm with the other part.
Another problem is the monoral sound. Even though the other part was recorded in the compact disc as the stereo sound, the other part is reproduced as the monoral sound. Thus, the sound quality is degraded through the prior art music recorder/player.
In case where a user wants to make a compact disc player perform ensemble with a MIDI sound reproducer, which reads out MIDI codes from a floppy disc, there is no way to make electronic tones reproduced synchronously with the stereo sound. In detail, the time series audio data are expressed with the audio data codes D1 and time codes D2 (see FIG. 2A), and the MIDI data are expressed with the event codes D3 and delta-time codes D4 as shown in FIG. 2B. An example of the event codes is shown in FIG. 2C, and represents a note-on or note-off, a note number assigned to the tone to be generated or decayed and a velocity of the tone. The time codes D2 represent a lapse of time from the initiation of the performance recorded in the compact disc. A time code D2 is always larger in value than the time code D2 on the left side thereof. On the other hand, the delta time codes D4, i.e., xcex94t codes, are representative of time interval between two events. The leftmost delta time code D4 is indicative of the time interval between the event expressed by the leftmost event data codes D3 and the next event expressed by the event codes D3 on the right side thereof. When two events concurrently take place, the event codes D3 are followed by other event codes D3 as indicated by the middle two boxes in FIG. 2B.
Although both of the time series audio data and the MIDI data contain pieces of timing information for the tones to be produced, the pieces of timing data are different in meaning between the time series audio data and the MIDI data. For this reason, even if the time codes D2 are compared with the corresponding delta time codes D4, the comparison is nonsense, and any synchronization is hardly established between the compact disc player and the tone generator/sound system.
A controller is assumed to process the time series audio data codes and the MIDI codes in parallel. The events, i.e., the note-on events and note-off events tend to take place ahead of or late for the tones to be concurrently generated. This is because of the fact that it is impossible to make the clock signal used in the controller strictly equal to the sampling clock frequency, i.e., 44.1 kHz as well as the clock signal used in the MIDI code generator.
It is therefore an important object of the present invention to provide a synchronous music player, which establishes synchronization between plural sound sources for ensemble in a real time fashion on the basis of plural sorts of music data.
It is also an important object of the present invention to provide a synchronous music recorder, which records a sort of music data produced synchronously with another sort of music data in a real time fashion.
To accomplish the object, the present invention proposes to measure a reference lapse of time on which time intervals are defined, comparing the reference lapse of time with a lapse of time to see whether or not the difference is ignoreable and varying the time intervals for regulating timing at which the corresponding pieces of first musical data information are supplied to a destination such as, for example, a first sound source or a recording system.
In accordance with one aspect of the present invention, there is provided a music player for producing first sorts of sound and second sorts of sound synchronously with one another comprising a first data source outputting a first sort of music data containing pieces of first music data information representative of first tones and pieces of first time data information each representative of a time interval between one of the pieces of first time data information and the next piece of first time data information, a second data source outputting a second sort of music data containing pieces of second music data information representative of second tones and pieces of second time data information each representative of a lapse of time from a starting point, a controlling system connected to the first data source and the second data source, producing a reference scale on which one of the lapse of time and the time interval is defined, the reference scale being identical in meaning with the other of the lapse of time and the time interval, the controlling system comparing the other of the lapse of time and the time interval with the reference scale to see whether or not a difference therebetween is ignoreable, varying the aforesaid one of the lapse of time and the time interval or the reference scale when the answer is given negative, outputting the associated one of the piece of first music data information and the piece of the second music data information upon expiry of the aforesaid one of the lapse of time and the time interval varied or unvaried after the comparison between the other of the lapse of time and the time interval and the reference scale and further outputting the other of the piece of first music data information and the piece of second music data information, a first sound source connected to the controlling system and supplied with the pieces of first music data information for producing the first tones, and a second sound source connected to the controlling system and supplied with the pieces of second music data information for producing the second tones.
In accordance with another aspect of the present invention, there is provided music recorder for recording a first sort of music data in an information storage medium comprising a first data source outputting the first sort of music data containing pieces of first music data information representative of first tones, a time interval between each of the pieces of first music data information and the next piece of first music data information being to be defined in one of pieces of first time data information, a second data source outputting a second sort of music data containing pieces of second music data information representative of second tones and pieces of second time data information each representative of a lapse of time from a starting point, a controlling system connected to the first data source and the second data source, measuring a reference lapse of time on which the time intervals are to be defined, holding a value of the reference lapse of time when the aforesaid one of the pieces of first music data information reached there, calculating the time interval when the next piece of first music data information reaches there, comparing the lapse of time with the reference lapse of time to see whether or not a difference therebetween is ignoreable, varying one of the reference lapse of time and the time interval so as to minimize the difference when the answer is given negative and outputting the piece of first music data information and the associated piece of first time data information, and a recording system connected to the controlling system, and recording the pieces of first music data information and the associated pieces of first time data information in an information storage medium.